package com.ksd.modules.note.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ksd.common.po.BatchIdsPO;
import com.ksd.commons.IBaseService;
import com.ksd.modules.note.entity.AdminNoteCode;
import com.ksd.modules.note.po.AdminNoteCodeSavePO;
import com.ksd.modules.note.po.AdminNoteCodeSearchPO;
import com.ksd.modules.note.vo.AdminNoteCodeVo;

public interface IAdminNoteCodeService extends IBaseService<AdminNoteCode> {


    /**
     * 查询列表
     *
     * @param adminNoteCodeSearchPO
     * @return
     */
    Page<AdminNoteCodeVo> findAdminNoteCodes(AdminNoteCodeSearchPO adminNoteCodeSearchPO);


    /**
     * 根据id逻辑删除单个
     *
     * @return
     */
    Boolean removeAdminNoteCodeById(Long id);

    /**
     * 批量物理删除
     *
     * @param batchIdsPO
     * @return
     */
    Boolean batchRemovesAdminNoteCode(BatchIdsPO batchIdsPO);


    /**
     * 修改状态
     *
     * @param id
     * @param column
     * @param value
     * @return
     */
    boolean updateStatus(Long id, String column, Integer value);

    /**
     * 修改状态
     *
     * @param id
     * @param column
     * @param value
     * @return
     */
    boolean updateStatusStr(Long id, String column, String value);

    /**
     * 创建兑换码
     *
     * @param adminNoteCodeSavePO
     * @return
     */
    Boolean createBatchCode(AdminNoteCodeSavePO adminNoteCodeSavePO);
}
